.\" %%%LICENSE_START(PUBLIC_DOMAIN)
.\" This text is in the public domain.
.\" %%%LICENSE_END
.\"
.TH nfsservctl 2 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
nfsservctl \- syscall interface to kernel nfs daemon
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <linux/nfsd/syscall.h>
.P
.BI "long nfsservctl(int " cmd ", struct nfsctl_arg *" argp ,
.BI "                union nfsctl_res *" resp );
.fi
.SH DESCRIPTION
.IR Note :
Since Linux 3.1, this system call no longer exists.
It has been replaced by a set of files in the
.I nfsd
filesystem; see
.BR nfsd (7).
.P
.in +4n
.EX
/*
 * These are the commands understood by nfsctl().
 */
#define NFSCTL_SVC        0  /* This is a server process. */
#define NFSCTL_ADDCLIENT  1  /* Add an NFS client. */
#define NFSCTL_DELCLIENT  2  /* Remove an NFS client. */
#define NFSCTL_EXPORT     3  /* Export a filesystem. */
#define NFSCTL_UNEXPORT   4  /* Unexport a filesystem. */
#define NFSCTL_UGIDUPDATE 5  /* Update a client\[aq]s UID/GID map
                                (only in Linux 2.4.x and earlier). */
#define NFSCTL_GETFH      6  /* Get a file handle (used by mountd(8))
                                (only in Linux 2.4.x and earlier). */
\&
struct nfsctl_arg {
    int                       ca_version;     /* safeguard */
    union {
        struct nfsctl_svc     u_svc;
        struct nfsctl_client  u_client;
        struct nfsctl_export  u_export;
        struct nfsctl_uidmap  u_umap;
        struct nfsctl_fhparm  u_getfh;
        unsigned int          u_debug;
    } u;
}
\&
union nfsctl_res {
        struct knfs_fh          cr_getfh;
        unsigned int            cr_debug;
};
.EE
.in
.SH RETURN VALUE
On success, zero is returned.
On error, \-1 is returned, and
.I errno
is set to indicate the error.
.SH STANDARDS
Linux.
.SH HISTORY
Removed in Linux 3.1.
Removed in glibc 2.28.
.SH SEE ALSO
.BR nfsd (7)
